The control system of a brushless motor typically includes a controller that generates control signals for exciting and freewheeling phase windings of the motor. The controller will often use interrupts and timers to generate the control signals at times relative to edges of a rotor signal. For example, each edge of the rotor signal may generate a first interrupt. In response to the first interrupt, the controller may load a first timer with a first value and a second timer with a second value. When the first timer overflows a second interrupt is generated, which causes the controller to generate a control signal for exciting the phase winding. When the second timer overflows a third interrupt is generated, which causes the controller to generate a control signal for freewheeling the phase winding.
Each interrupt requires a particular period of time to be serviced, during which time the controller is unable to service other interrupts. It is therefore possible for interrupts to clash. When two interrupts clash, the servicing of one of the interrupts will be delayed. This delay may in turn adversely affect the performance of the motor system.